home *** CD-ROM | disk | FTP | other *** search
-
- M.A.M.E. - Multiple Arcade Machine Emulator
- Copyright (C) 1997, 1998 by Nicola Salmoria and the MAME team
-
- Please note that many people helped with this project, either directly or by
- releasing source code that was used to write the drivers. We are not trying to
- appropriate merit that isn't ours. See the acknowledgments section for a list
- of contributors, however please note that the list is largely incomplete. See
- also the CREDITS section in the emulator to see the people who contributed to a
- specific driver. Again, that list might be incomplete. We apologize in advance
- for any omission.
-
- All trademarks cited in this document are property of their respective owners.
-
-
- Usage and Distribution License
- ------------------------------
-
- I. Purpose
- ----------
- MAME is strictly a no profit project. Its main purpose is to be a reference
- to the inner workings of the emulated arcade machines. This is done for
- educational purposes and to preserve many historical games from the oblivion
- they would sink into when the hardware they run on will stop working.
- Of course to preserve the games you must also be able to actually play them;
- you can see that as a nice side effect.
- It is not our intention to infringe any copyrights or patents pending on the
- original games. All of the source code is either our own or freely
- available. To work, the emulator requires ROMs of the original arcade
- machines, which must be provided by the user. No portion of the code of the
- original ROMs is included in the executable.
-
- II. Cost
- --------
- MAME is free. The source code is free. Selling it is not allowed.
-
- III. ROM Images
- ---------------
- You are not allowed to distribute MAME and ROM images on the same physical
- medium. You are allowed to make them available for download on the same web
- site, but only if you warn users about the copyright status of the ROMs and
- the legal issues involved. You are NOT allowed to make MAME available for
- download together with one giant big file containing all of the supported
- ROMs, or any files containing more than one game each.
- You are not allowed to distribute MAME in any form if you sell, advertise or
- publicize illegal CD-ROMs or other media containing ROM images. Note that
- the restriction applies even if you don't directly make money out of that.
- The restriction of course does not apply if the CD-ROMs are published by the
- ROMs copyrights owners.
-
- IV. Source Code Distribution
- ----------------------------
- If you distribute the binary, you should also distribute the source code. If
- you can't do that, you must provide a pointer to a place where the source
- can be obtained.
-
- V. Distribution Integrity
- -------------------------
- This chapter applies to the official MAME distribution. See next chapter for
- limitations on the distribution of derivative works.
- MAME must be distributed only in the original archives. You are not allowed
- to distribute a modified version, nor to remove and/or add files to the
- archive.
-
- VI. Reuse of Source Code
- -------------------------
- This chapter might not apply to specific portions of MAME (e.g. CPU
- emulators) which bear different copyright notices.
- The source code cannot be used in a commercial product without a written
- authorization of the authors. Use in non commercial products is allowed and
- indeed encouraged; however if you use portions of the MAME source code in
- your program, you must make the full source code freely available as well.
- Derivative works are allowed (provided source code is available), but
- discouraged: MAME is a project continuously evolving, and you should, in
- your best interest, submit your contributions to the development team, so
- that they are integrated in the main distribution. Usage of the
- _information_ contained in the source code is free for any use. However,
- given the amount of time and energy it took to collect this information, we
- would appreciate if you made the additional information you might have
- freely available as well.
-
-
-
- How to Contact Us
- -----------------
-
- Here are some of the people contributing to MAME. If you have comments,
- suggestions or bug reports about an existing driver, check the driver's Credits
- section to find who has worked on it, and send comments to that person. If you
- are not sure who to contact, write to Mirko or Nicola. If you have comments
- specific to a system other than DOS (e.g. Mac, Win32, Unix), they should be sent
- to the respective port maintainer. DON'T SEND THEM TO MIRKO OR NICOLA - they
- will be ignored.
-
- You can send source code to mame@lim.dsi.unimi.it. Do not use this address for
- non-source code bug reports.
-
- Nicola Salmoria MC6489@mclink.it
- Mirko Buffoni mix@lim.dsi.unimi.it
-
- Mike Balfour mab22@po.cwru.edu
- Aaron Giles agiles@sirius.com
- Chris Moore chris.moore@writeme.com
- Brad Oliver bradman@primenet.com
- Andrew Scott ascott@utkux.utcc.utk.edu
- Zsolt Vasvari vaszs01@banet.net
- Valerio Verrando v.verrando@mclink.it
- Bernd Wiebelt bernardo@studi.mathematik.hu-berlin.de
-
- DON'T SEND BINARY ATTACHMENTS WITHOUT ASKING FIRST, *ESPECIALLY* ROM IMAGES.
-
- THESE ARE NOT SUPPORT ADDRESSES. Support questions sent to these addresses
- *will* be ignored. Please understand that this is a *free* project, mostly
- targeted at experienced users. We don't have the resources to provide end user
- support. Basically, if you can't get the emulator to work, you are on your own.
- First of all, read the docs carefully and check the FAQ at
- http://www.crcwnet.com/~no-sleep/newic/mamefaq.htm. If you still can't find an
- answer to your question, try checking the beginner's sections that many
- emulation pages have (e.g. http://www.crcwnet.com/~no-sleep/newic/), or ask on
- the appropriate Usenet newsgroups (e.g. comp.emulators.misc) or on the
- emulation message boards (e.g. http://www.escape.com/~ego/dvgc/mame/).
-
- Also, DO NOT SEND REQUESTS FOR NEW GAMES TO ADD, unless you have some original
- info on the game hardware or, even better, own the board and have the technical
- expertise needed to help us.
- Please don't send us information widely available on the Internet - we are
- perfectly capable of finding it ourselves, thank you.
-
-
-
- Acknowledgments
- ---------------
-
- First of all, thanks to Allard van der Bas (avdbas@wi.leidenuniv.nl) for
- starting the Arcade Emulation Programming Repository at
- http://valhalla.ph.tn.tudelft.nl/emul8
- Without the Repository, I would never have even tried to write an emulator.
- Unfortunately, the original Repository is now closed, but its spirit lives
- on in MAME.
-
- Z80Em Portable Zilog Z80 Emulator Copyright (C) Marcel de Kogel 1996,1997
- Note: the version used in MAME is slightly modified. You can find the
- original version at http://www.komkon.org/~dekogel/misc.html.
- M6502 Emulator Copyright (C) Marat Fayzullin, Alex Krasivsky 1996
- Note: the version used in MAME is slightly modified. You can find the
- original version at http://freeflight.com/fms/.
- I86 emulator by David Hedley, modified by Fabrice Frances (frances@ensica.fr)
- M6809 emulator by John Butler, based on L.C. Benschop's 6809 Simulator V09.
- M6808 based on L.C. Benschop's 6809 Simulator V09.
- 80x86 asm M6808 emulator Copyright 1998, Neil Bradley, All rights reserved
- M68000 emulator taken from the System 16 Arcade Emulator by Thierry Lescot.
- 8039 emulator by Mirko Buffoni, based on 8048 emulator by Dan Boris.
- T-11 emulator Copyright (C) Aaron Giles 1998
- TMS5220 emulator by Frank Palazzolo.
- AY-3-8910 emulation based on various code snippets by Ville Hallik,
- Michael Cuddy, Tatsuyuki Satoh, Fabrice Frances, Nicola Salmoria.
- YM-2203 and YM-2151 emulation by Tatsuyuki Satoh.
- OPL based YM-2203 emulation by Ishmair (ishmair@vnet.es).
- POKEY emulator by Ron Fries (rfries@aol.com).
- Many thanks to Eric Smith, Hedley Rainnie and Sean Trowbridge for information
- on the Pokey random number generator.
- NES sound hardware info by Jeremy Chadwick and Hedley Rainne.
-
- Allegro library by Shawn Hargreaves, 1994/97
- SEAL Synthetic Audio Library API Interface Copyright (C) 1995, 1996
- Carlos Hasan. All Rights Reserved.
- Video modes created using Tweak 1.6b by Robert Schmidt, who also wrote
- TwkUser.c.
- "inflate" code for zip file support by Mark Adler.
-
- Big thanks to Gary Walton (garyw@excels-w.demon.co.uk) for too many things
- to mention them all.
-
- Many thanks to Nicholas Alwin (www.alpha1.net/~v-stick) for the V-Stick. If you
- are seriously into arcade emulation, check it out.
-
-
-
- Usage
- -----
-
- MAME [name of the game to run] [options]
-
- for example
-
- MAME mspacman -soundcard 0 will run Ms Pac Man without sound
-
-
- options:
- -scanlines/-noscanlines (default: -scanlines)
- if the default mode doesn't work with your monitor/video card
- (double image/picture squashed vertically), use -noscanlines
- or -vesa.
- -vesa/-novesa (default: -novesa)
- Decides whether to use tweaked VGA modes or standard VESA modes.
- Note that some hires games require VESA modes, -novesa is
- ignored in this case.
- -ntsc a 288x224 mode with standard NTSC frequencies. You need some
- additional hardware (VGA2TV converter) to make use of this.
- -vesa1 discontinued. use -vesa
- -vesa2b discontinued. use -vesa
- -vesa2l discontinued. use -vesa
- -resolution XxY
- where X and Y are width and height (ex: '-resolution 800x600')
- MAME goes some lengths to autoselect a good resolution. You can
- override MAME's choice with this option.
- You can use -XxY (e.g. -800x600) as a shortcut. Frontend
- authors are advised to use -resolution XxY, however.
- -320 discontinued. Use -320x240.
- If you get an error '320x240 not supported', you probably
- need Scitech's Display Doctor, which provides the 'de facto'
- standard VESA implementation (http://www.scitechsoft.com)
- Note: this is a nice alternative to '-640x480 -noscanlines'
- -400 same as above, use -400x300
- -512 same as above, use -512x384
- -640 same as above, use -640x480
- -800 same as above, use -800x600.
- -1024 same as above, use -1024x768
- -skiplines N / -skipcolumns N
- if you run a game on a video mode smaller than the visible area,
- you can adjust its position using the PGUP and PGDN keys (alone
- for vertical panning, shifted for horizontal panning).
- You can also use these two parameters to set the initial
- position: 0 is the default, menaing that the screen is centered.
- You can specify both positive and negative offsets.
- -double/-nodouble (default: auto)
- use nodouble to disable pixel doubling in VESA modes (faster,
- but smaller picture). Use double to force pixel doubling when
- the image doesn't fit in the screen (you'll have to use PGUP and
- PGDN to scroll).
- -depth n (default: 16)
- Some games need 65k color modes to get accurate graphics. To
- improve speed, you can turn that off using -depth 8, which limits
- to the standard 256 color modes.
- -gamma n (default: 1.2)
- Set the initial gamma correction value.
- -vgafreq n where n can be 0 (default) 1, 2 or 3.
- use different frequencies for the custom video modes. This
- could reduce flicker, especially in the 224x288noscanlines
- mode. WARNING: THE FREQUENCIES USED MIGHT BE WAY OUTSIDE OF
- YOUR MONITOR RANGE, AND COULD EVEN DAMAGE IT. USE THESE OPTIONS
- AT YOUR OWN RISK.
- -vsync/-novsync (default: -novsync)
- synchronize video display with the video beam instead of using
- the timer. This option can only be used if the selected video
- mode has an appropriate refresh rate; MAME will otherwise refuse
- to start, telling you the actual refresh rate of the video mode,
- and the rate it should have.
- If you are using a tweaked mode, MAME will try to automatically
- pick the correct setting for -vgafreq; you can still override it
- using the -vgafreq option. Note: the 224x288 noscanlines mode
- doesn't work on most cards. This mode is used by many games,
- e.g. Pac Man and Galaga. If it doesn't work on your card, either
- use the scanlines version, or don't use -vsync.
- If you are using a VESA mode you should use the program which
- came with your video card to set the appropriate refresh rate.
- Note that when this option is turned on, speed will NOT
- downgrade nicely if your system is not fast enough (i.e.:
- jerkier gameplay).
- -alwayssynced/-noalwayssynced (default: -noalwayssynced)
- for many tweaked VGA modes, MAME has two definitions: one which
- is more compatible, and one which is less compatible but uses
- frequencies compatible with -vsync. By default, the less
- compatible definition is used only when -vsync is requested;
- using this option, you can force it to be used always.
- -ror rotate the display clockwise by 90 degrees.
- -rol rotate display anticlockwise
- -flipx flip display horizontally
- -flipy flip display vertically
- -ror and -rol provide authentic *vertical* scanlines, given you
- turn your monitor to its side.
- CAUTION:
- A monitor is a complicated, high voltage electronic device.
- There are some monitors that were designed to be rotated.
- If yours is _not_ one of those, but you absolutely must
- turn it to its side, you do so at your own risk.
-
- ******************************************************
- PLEASE DO NOT LET YOUR MONITOR WITHOUT ATTENTION IF IT
- IS PLUGGED IN AND TURNED TO ITS SIDE
- ******************************************************
-
- -norotate This is supposed to disable all internal rotations of the image,
- therefore displaying the video output as it is supposed to be
- (so you need a vertical monitor to see vertical games). However,
- many drivers still don't use MAME centralized rotation, but
- instead rotate the image on their own, so -norotate has no
- effect on them. In some cases, the image will be upside down. To
- correct that, use
- -norotate -flipx -flipy.
-
- -soundcard n select sound card (if this is not specified, you will be asked
- interactively)
- -sr n set the audio sample rate. The default is 22050. Smaller values
- (e.g. 11025) will cause lower audio quality but faster emulation
- speed. Higher values (e.g. 44100) will cause higher audio quality
- but slower emulation speed.
- -sb n set the audio sample bits, either 8 or 16. The default is 8.
- 16 will increase quality with certain games, but decrease speed.
- This is a software setting, not hardware. The sound card will
- always be used in 16 bit mode, if possible.
- -joy n/-nojoy (default: -nojoy) allows joystick input, n can be:
- 0 - no joystick
- 1 - normal 2 button joystick
- 2 - dual joysticks
- 3 - Stick/Pad with 4 buttons
- 4 - Stick/Pad with 6 buttons
- 5 - Stick/Pad with 8 buttons
- 6 - CH Flightstick Pro
- 7 - Wingman Extreme (or Wingman Warrior without spinner)
- 8 - Microsoft Sidewinder (up to 4)
- 9 - Gravis GamePad Pro
-
- Press F7 to calibrate analog joysticks. Calibration data
- will be saved in mame.cfg. If you're using different joytypes
- for different games, you may need to recalibrate your joystick
- every time.
-
- -fm/-nofm (default: -nofm) use the SoundBlaster OPL chip for music emulation
- in some games. This is faster, but emulation is less faithful.
- -log create a log of illegal memory accesses in ERROR.LOG
- -help, -? display current MAME version and copyright notice
- -list display a list of currently supported games
- -listfull display a list of game directory names + description
- -listroms display selected game required roms
- -listsamples display selected game required samples
- -listdetails display a detailed list of drivers and the hardware they use
- -verifyroms check selected game for missing and invalid ROMs.
- -verifysamples check selected game for missing samples.
- -romdir specify an alternate directory/zip name where to load the ROMs
- for the specified game. E.g. "mame pacman -romdir pachack" will
- run the Pac Man driver but load the roms from the "pachack" dir
- or "pachack.zip" archive.
- -mouse/-nomouse (default: -mouse) enable/disable mouse support
- -frameskip n skip frames to speed up the emulation. For example, if the game
- normally runs at 60 fps, "-frameskip 1" will make it run at 30
- fps, and "-frameskip 2" at 20 fps. Use F11 to check the speed
- your computer is actually reaching. If the game is too slow,
- increase the frameskip value. Note that this setting can also
- affect audio quality (some games sound better, others sound
- worse). Maximum value for frameskip is 3.
- -antialias/-noantialias (default: -antialias)
- antialiasing for the vector games.
- -beam n sets the width in pixels of the vectors. n is a float in the
- range of 1.00 through 16.00.
- -flicker n make the vectors flicker. n is an optional argument, a float in
- the range 0.00 - 100.00 (0=none 100=maximum).
- -cheat Cheats like the speedup in Pac Man or the level skip in many
- other games are disabled by default. Use this switch to turn
- them on.
- -debug Activate the integrated debugger. During the emulation, press
- tilde to enter the debugger.
- -record name Record joystick input on file INP/name.inp.
- -playback name Playback joystick input from file INP/name.inp.
- -savecfg no longer supported at the moment
- -ignorecfg ignore mame.cfg and start with the default settings
-
-
- The following keys work in all emulators:
- Tab Enter configuration menu. Press Tab or Esc to get back to the
- emulation.
- P Pause
- F3 Reset
- F4 Show the game graphics. Use cursor keys to change set/color,
- F4 or Esc to return to the emulation.
- F7 Calibrate the joystick
- F8 Change frame skip on the fly (60, 30, 20, or 15)
- F10 Toggle speed throttling
- F11 Toggle speed display
- F12 Save a screen snapshot. The default target directory is PCX, you
- have to create it yourself, it will not be created by the program
- if it isn't there.
- numpad +/- Volume adjust
- left shift + numpad +/- Gamma correction adjust
- ESC Exit emulator
-